/**
 * 
 */
package org.gov.vis.data.controller;

import java.util.HashMap;
import java.util.List;

import org.gov.vis.data.dto.DistributionSemenDto;
import org.gov.vis.master.controller.BaseCtlr;

/**
 * @author Vishwanath
 *
 */
public interface DistributionSemenCtlr extends BaseCtlr{
	
	/**
	 * This holds the error messages of the service layer.
	 */
	HashMap<String, String> errorMsgs = new HashMap<String, String>();

	/**
	 * Method called to Add or Edit the DistributionSemen
	 * @param aiDto
	 * @throws Exception
	 */
	public void addOrEditDisSemen(final DistributionSemenDto _disSemenDto) throws Exception;
	
	/**
	 * Method called to delete the DistributionSemen Object based on the passed prSemen Id
	 * @param _disSemenId
	 * @throws Exception
	 */
	public void deleteDisSemen(long _disSemenId) throws Exception;
	
	/**
	 * Method called to get the DistributionSemen based on the passed DisSemen Object
	 * @param prSemenDto
	 * @return
	 * @throws Exception
	 */
	public DistributionSemenDto getDisSemen(final DistributionSemenDto _disSemenDto) throws Exception;
	
	/**
	 * Method called to get the list of DistributionSemen based on the passed DisSemen Object
	 * @param DisSemenDto
	 * @return
	 * @throws Exception
	 */
	public List<DistributionSemenDto> getDisSemens(final DistributionSemenDto _disSemenDto) throws Exception;
	
	/**
	 * Method called to search for the DistributionSemen based on the passed DisSemen Object
	 * @param DisSemenDto
	 * @return
	 * @throws Exception
	 */
	public List<DistributionSemenDto> searchDisSemens(final DistributionSemenDto _DisSemenDto) throws Exception; 
	
	/**
	 * Method called to get the DistributionSemen based on the passed primary key Id
	 * @param _disSemenId
	 * @return
	 * @throws Exception
	 */
	public DistributionSemenDto getDisSemen(final long _disSemenId) throws Exception;
	
		
	/**
	 * Method called to get the DistributionSemen based on the passed Breed
	 * @param _disSemenBreed
	 * @return
	 * @throws Exception
	 */
	public DistributionSemenDto getDisSemenOnBreed(final String _disSemenBreed) throws Exception;
	
	
	/**
	 * Method called to get the DistributionSemen based on the passed BullNo
	 * @param _DisSemenBullNo
	 * @return
	 * @throws Exception
	 */
	public DistributionSemenDto getDisSemenOnBullNo(final String _disSemenBullNo) throws Exception;
	
	/**
	 * Method called to get the DstributonSemen based on the passed Code
	 * @param _aiCode
	 * @return
	 * @throws Exception
	 */
	public DistributionSemenDto getDisSemenOnCode(final String _disCode) throws Exception;


}// end DistributionSemenCtlr
